Programmed apparatus and system for dynamic display of presentation files

ABSTRACT

A method of preparing and displaying a cumulative presentation and a presentation system are provided. A listing of available individual presentation files is provided through a user interface. Each of the presentation files comprises a plurality of presentation slides. A user is queried through the user interface to select presentation files from the available individual presentation files for inclusion in a cumulative presentation in a selected presentation order. A listing of presentation files selected by the user is displayed in the user interface. In response to a first command received from the user, a first slide from a first presentation from the cumulative presentation is provided to a display device for display thereon. In response to a second command received from the user, a second slide from the cumulative presentation is provided to the display device for display thereon.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.10/317,619 filed Dec. 12, 2002, now U.S. Pat. No. ______, the entiretyof which is hereby incorporated by reference herein.

FIELD OF THE INVENTION

The present invention relates to display devices and systems, and moreparticularly to display devices and systems for dynamic control ofpresentations.

BACKGROUND OF THE INVENTION

The use of presentation software for presenting electronic “slideshows”has become ubiquitous today. The most popular presentation software iscurrently the “POWERPOINT®” software package sold by MicrosoftCorporation of Redmond, Wash. Typically, a laptop computer having a copyof the POWERPOINT software is connected to a display device. APOWERPOINT presentation file in the “.ppt” or “.pps” format, which hasbeen previously created by the presenter, is executed by the softwareresident on the laptop computer and a slideshow is displayed on the LCDscreen of the laptop and/or sent to the display device (e.g., a LCDprojector) and projected to a screen for display to an audience.

Oftentimes, more than one presentation is scheduled for an event, suchas an academic conference or business meeting. Each presentation can andoften is associated with a separate slideshow presentation. Thesemultiple presentation events are accommodated in one of two ways. In afirst approach, each presenter has his or her own laptop with a copy ofthe POWERPOINT software and a copy of the presenter's presentation file.After each presentation is given, the presenter's laptop is disconnectedfrom the display device and the next presenter's laptop is connectedthereto. This often causes delays as cables are physically disconnectedfrom one laptop and reconnected to the next laptop. Further, thepresenter may have to locate the presenter's presentation on thepresenter's machine and launch the presentation in the “full-screen”mode to begin the slideshow. The audience waits through and witnessesthis ritual, including viewing any aspects of the presenter's computerdesktop before the full-screen mode is presented. Further, the laptopmay not be correctly configured to display on the display device. Thisevent requires adjustments to be made for which the presenter is oftennot familiar, thereby requiring assistance by a more qualified personand perpetuating the aforementioned delay and unwanted displays.

In a second approach, all of the presentations of the various presentersare loaded into a single laptop computer connected to the displaydevice. In this case, transitioning between presentations requires thefirst presenter to close the presenter's presentation and the subsequentpresenter to open up his or her respective presentation. Again, delayresults from this routine, and the transition events (e.g., opening andclosing of presentations and desktop display) are shown to the audience.

In still yet another approach specific to POWERPOINT presentationsoftware, POWERPOINT VIEWER software—a viewing software application forPOWERPOINT presentations—allows a user to run multiple POWERPOINTslideshows, one right after another, by executing a playlist (.lst)file. The playlist file must contain the full pathname information foreach presentation when each file is located in a file outside of thefolder where the viewer executable file (PPVIEW32.exe) is located. Theuser creates the playlist using a text editor, such as a notepadsoftware application, and saves the file with the “.lst” extension.While this approach provides for a more seamless presentation of aplurality of presentations files, control and modification capabilitiesare severely limited. During playback, no changes to the ordering of thepresentation files or additions or deletions to the playlist arepossible. In essence, a new, modified playlist textual file must becreated using a text editor to define the new play order and this newfile must then be executed from its beginning. This is not a practicalsolution during presentations. Further, navigation between individualpresentations in the playlist is limited. For example, during playbackof the playlist, the user cannot move from the first slide of apresentation directly to the last slide of a previous presentation.

A presentation system with some limited flexibility is described in U.S.Pat. No. 6,108,101 to Tuttle, entitled “Dynamic Control of Visual and/orAudio Presentation” issued Aug. 22, 2000, the entirety of which ishereby incorporated by reference herein. Tuttle describes a presentationsystem including a personal computer connected to a LCD projector. Thepersonal computer executes a play story program and various softwareroutines. A story list file including a list of all “stories” that areinitially included in a particular presentation and a default sequencefor presenting them is loaded into the personal computer. A directory isfetched from an external storage that includes the name and location ofall stories. Once the play story program is executed, it reads anincremented story list counter to identify the first story and thenreads the directory to obtain the address of the first story in externalstorage. An I/O subsystem then fetches the first story from externalstorage into RAM for presentation. The system allows some control overthe presentation ordering during display of the cumulative presentation,but is still dependent upon a static playlist and does not allow formodifications of the playlist of “stories” (e.g., additions, deletions,or reordering) without interrupting the story currently being played.Put another way, the user can immediately command the play of a storythat is not the next story defined in the playlist, but this requireseither the interruption of a present story or a wait until completion ofthe present story. Still further, multiple changes, such as reorderingof multiple stories, cannot be accomplished without manually commandingthe play of each story when desired.

Greater flexibility in group presentations is often desired, such as toaccommodate changes in presentation ordering and additions and deletionsof presentations, both before the beginning of a group presentations andduring the group presentation. Therefore, there is a need for apresentation system that allows for more flexible display of multiplepresentations, while eliminating unseemly delays and displays that occurin between individual presentations.

SUMMARY OF THE INVENTION

A method of preparing and displaying a cumulative presentation and apresentation system are provided. A listing of available individualpresentation files is provided through a user interface. Each of thepresentation files comprises a plurality of presentation slides. A useris queried through the user interface to select presentation files fromthe available individual presentation files for inclusion in acumulative presentation in a selected presentation order. A listing ofpresentation files selected by the user is displayed in the userinterface. In response to a first command received from the user, afirst slide from a first presentation from the cumulative presentationis provided to a display device for display thereon. In response to asecond command received from the user, a second slide from thecumulative presentation is provided to the display device for displaythereon.

A method of manipulating a presentation order of presentations in acumulative presentation and a presentation system are also provided. Thecumulative presentation comprises a plurality of presentations fileseach including a plurality of presentation slides. A listing ofpresentations included in the cumulative presentation is provided to auser through a user interface. Without interrupting a presentationcurrently being displayed from the cumulative presentation, thepresentation order of the presentations in the cumulative presentationis reconfigured in response to a reconfiguration command received fromthe user.

The above and other features will be better understood from thefollowing detailed description of the preferred embodiments of theinvention that is provided in connection with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate preferred embodiments of theinvention, as well as other information pertinent to the disclosure, inwhich:

FIG. 1 is a block diagram of an exemplary presentation system;

FIGS. 2-2D illustrate an exemplary graphical user interface for defininga cumulative presentation order;

FIG. 3 is flow diagram illustrating the development of a cumulativepresentation from a plurality of individual presentations;

FIG. 4 is a flow diagram illustrating the display of a cumulativepresentation;

FIG. 5 illustrates an exemplary presentation control device;

FIG. 6A-6D illustrate a doubly linked list defining a cumulativepresentation; and

FIG. 7 illustrates an exemplary graphical user interface forreconfiguring a cumulative presentation during display of saidcumulative presentation.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of an exemplary embodiment of a presentationsystem 10 including a programmed processor 20. The processor 20 includesa central processing unit 22 programmed with control software 24,presentation software application programming interface (API) 26 andpresentation software 28. In an exemplary embodiment, the operatingsystem for processor 20 is a windows-based operating system, such asMICROSOFT WINDOWS XP. The processor 20 may include many of thecomponents considered standard in today's desktop or laptop computers,and one of ordinary skill should realize that the configuration of thesecomponents may differ from that shown in FIG. 1. Processor 20 includesbusses and corresponding controllers, such as an IDE (Integrated DriveElectronics) bus and IDE controller 43, a PCI (Peripheral ComponentInterconnect) bus and PCI controller 42, a local system bus and an AGP(Accelerated Graphics Port) bus and AGP controller 45, system memory 34(i.e., volatile memory (RAM)) and nonvolatile memory (hard drive 47,floppy drive, CD-ROM drive and the like), I/O controller 30 and basicinput/output system (BIOS) software 21. The I/O controller unit 30 iscoupled to I/O media sources 32.

I/O media sources 32 can include any or all of the following: a floppydisk drive, a CD-ROM, CD-R, CD-R/W (or compatible) drive, DVD-ROM,DVD-R, DVD-R/W, DVD+R/W (or compatible) drive, Iomega ZIP drive, digitalmemory device (e.g., CompactFlash portable storage device, Memory Stickportable storage device, SmartMedia portable storage device or SecureDigital portable storage device), digital tape, portable hard drive orany other storage device. Still further, a media source may be anothercomputer processor and I/O media sources 32 may include a wiredconnection, such as a USB port, wired network card (e.g., Ethernetcard), or modem, or wireless connection, such as an infrared port or RFport that facilitates communications via the 802.11a, 802.11b orBlueTooth protocols, for receiving and transmitting files from or to aremote computer processor that contains media.

Processor 20 also includes Presentation User Interface Controller 40connected to user control display 100, user input device 60 andpresentation control device 50, the details of which are describedbelow. Programmed processor 20 may also includes an audio codec 36,which may be connected to speakers 70, headphones or earphones. Theprocessor 20 also preferably includes at least one video controller 38,shown connected to the local bus and CPU 22 through AGP controller 45and the AGP bus. The video controller 38 may output video in one or morevideo formats, including VGA, S-video, composite video or other videoformat. Video controller 38 is preferably connected through anappropriate video port to a display device, such as a projector 90and/or a monitor 80. The monitor 80 may be, for example, a LCD or CRTdisplay. Likewise, the projector 90 may be a CRT, LCD or other type ofvideo projector. This connection may be either wireless or hardwired. Asdescribed in more detail below, video controller 38 provides the videosignal for a cumulative presentation to monitor 80 and/or projector 90.In one embodiment, presentation user interface controller 40 provides avideo signal to user control display 100 corresponding to a graphicaluser interface, specifically a dialog box or window, that allows theuser to interact with the processor 20 via user input device 60. Asecond video controller may optionally be connected to the AGP bus toprovide this second video signal.

Although the preferred method of interacting with the user, such asdisplaying information to the user and querying the user for informationor instructions, is described by means of a graphical user interfaceand, more specifically, dialog boxes or windows, it is contemplated thatother user interfaces may also be utilized, such as LED displays orother means of communicating with the user.

The use and operation of the system 10 of FIG. 1 is described hereafterin connection with FIGS. 2-7, specifically with respect to the creation,display and modification of a cumulative presentation. An exemplaryembodiment of the system 10 is described using POWERPOINT presentations,but it should be understood that the system is not limited to this formof presentation file or to any particular form of media. Rather, apresentation includes a group of slides, which may include still images,audio, video or combinations thereof. To that end, presentation software28 may include software for playing video and audio or other media,including, but not limited to, RealMedia/RealPlayer, QuickTime videoand/or audio, MPEG video and/or audio, Windows Media video and/or audio,to name a few.

FIG. 2 illustrates an exemplary graphical user interface, morespecifically a dialog box or window, presented by the control software24 to a user control display 100 through presentation user interfacecontroller 40. One of ordinary skill will recognize that the controlsoftware 24 may be based on any programming language, but C++ isutilized in one exemplary embodiment of programmed apparatus 20 andprocessing unit 22. The user interacts with the processor 20 through auser input device 60. Input device 60 may be a keyboard, mouse device,number pad, or combination thereof, or any other input device, theparticulars of which are not important to the understanding of thesystem 10.

FIG. 3, in connection with FIGS. 2-2D, describes the operation of thecontrol software in organizing a cumulative presentation from aplurality of individual presentation files. At step 100, the controlsoftware 24 displays the graphical user interface of FIG. 2 after theprocessor 20 is turned “on.” This may occur immediately after boot up orafter a user launches the software application. At step 102, the controlsoftware 24 obtains through I/O controller 30 a list of any presentationfiles, such as POWERPOINT presentation files (.ppt (standard PowerPointfile format) or .pps (a PowerPoint format that opens up PowerPointdirectly into slideshow view)) available at the I/O media sources 32. Alisting of these individual presentation files is displayed to the userin the graphical user interface of FIG. 2 on user control display 100.Assume for example that drive “A:” represents a floppy drive, drive “D:”represents a CD-ROM drive, and drive “H:” represents a network drive,each available as a media source 32. The graphical user interfaceindicates that there are two presentation files on a floppy diskette indrive A, two presentation files on a CD-ROM in drive D, and onepresentation file on drive H. The presentation files from each mediasource that is currently connected to the processor 20 are preferablydisplayed simultaneously to the user in the graphical user interface, orthe user can be provided with a menu of available I/O media sources 32,wherein the user selects a desired media source (e.g., the “A” drive)and its presentation files are displayed. Of course, the floppy diskette(or other respective storage media) presently in drive A (or otherrespective I/O media source 32) may be removed and a different diskettemay be inserted. In that case, the presentation files available on thesecond diskette are then displayed to the user. An alternative approachto displaying available media is for the device to display only thesource of media made most recently available (e.g., inserted orattached), or to preferentially display one or another source of mediaand to allow the user to cycle through the available sources, or somecombination of these approaches. In this manner, the processor 20 isprovided access to the presentation files of several differentpresenters, such as may be necessary at a conference.

At step 104, the control program 24 receives a selection of apresentation file to add to a cumulative presentation. This selectionmay be made by the user using user input device 60. The actual selectionmay be made in any number of ways. For example, if the user input device60 is a pointer device, such as a mouse device, the user can select thedesired individual presentation file by pointing to the file on thegraphical user interface and selecting the file by “clicking” on it. Theuser can then drag the file over to the “Cumulative Presentation Order”window in the graphical user interface. Another option would be to“double-click” on the file, whereby the control program 24 automaticallyadds the file to the first location in the cumulative presentationorder. Alternatively, the use can select the “select media” button andthe file is then added to the cumulative presentation order. Regardlessof how the control software 24 is configured to query the user for apresentation order selection to enable or allow the user to select themedia file for inclusion in the cumulative presentation order, the mediafile is added to the cumulative presentation order, and the name of theselected presentation file is displayed to the user in the CumulativePresentation Order window of the graphical user interface (step 106) asshown in FIG. 2A. The selected presentation is preferably placed in thefirst order position of the cumulative order, but this is not arequirement. The user could, for example, opt to define the cumulativepresentation from the last order position to first order position or insome random manner.

In one embodiment of the invention, the programmed processor 20 allowsthe user to select presentations for inclusion in the cumulativepresentation at selected slot location in the cumulative presentation.Assume speakers one and five in a symposium are from the same companyand have a single diskette containing both of their respectivepresentation files. The presentations could be added to the cumulativepresentation list as presentations one and five after the diskette isinserted at I/O media source 32, leaving the other slots open. The nextpresentation added to the cumulative presentation is then automaticallyplaced in the earliest available slot (in this case, the second slot)unless the user directed it to another randomly accessible slot, such asthe third slot. The user also has the option to have new presentationsappended to the end of a current list instead of at the earliestunfilled spot (e.g., spot number six). If another presentation wereadded at slot number four, then slots one, three, four and five would beoccupied with presentations. If the cumulative presentation is thendisplayed (as described below) and no new presentation is added theretoat slot number two, the device displays the cumulative presentation asif it were comprised of four presentations at slots one through four. Asdescribed below, presentation two could be added as presentation one isbeing displayed, and if the cumulative presentation is then saved, itcan be saved with the original assigned positions or with thepresentation as displayed, at the user's option.

The user interface for configuring and modifying the cumulativepresentation may be textual, numeric or pictorial. An example of thelatter interface would be an interface that allows the user to drag anddrop (using user input device 60) presentations into pictorialrepresentations of cubby holes, for example, or onto icons representingempty or full slots. The device may be configured in a variety of waysto address attempts to place presentations into occupied slots. Forexample, the device could verify the user's intent to place thepresentation into that slot, could offer to replace the existingpresentations in the slot, or could prompt a shift of all subsequentpresentations by one spot (or until each presentation is in an openslot), to name a few.

After a user has selected a presentation file and its name is added tothe cumulative presentation order list, the control software 24preferably directs that the selected presentation file is copied fromthe appropriate I/O media source 32 associated with the presentationfile to local storage in system memory 34 or hard drive 47 (step 108).At 110, the user decides whether to add additional presentation files tothe cumulative presentation list. Because the system 10 arranges anddisplays cumulative presentations from a plurality of individualpresentations, the user selects at least one more presentation file foraddition to the cumulative order in the manner described above. Forexample, if the user selects “Dr._A_Presentation.PPT” as the secondpresentation, it is added to the cumulative presentation order, thegraphical user interface is updated and displayed to the user as shownin FIG. 2B, and the selected presentation file is copied to localstorage (steps 104-108). In this manner, the user can define and developfrom scratch a cumulative play order of presentations as shown in, forexample, FIG. 2C from a plurality of different media sources 32 andthrough a user friendly graphical interface.

If the user does not wish to add any additional presentation files tothe cumulative presentation list at step 110, control software 24provides the user the option of deleting files from the cumulativepresentation order at 112. If the user decides to delete a presentationfrom the list at 112, a presentation from the list is selected by theuser and removed from the list at 114, and the list is redisplayed tothe user without the removed presentation file. Using the user inputdevice 60, the user can select the desired file from the cumulativepresentation order window of the graphical user interface by “clicking”on its name and choose “select media,” drag the file off of the windowto a virtual “trash can,” select a “delete” button (not shown) orotherwise remove the presentation file from the list. The cumulativelist order is then updated to reflect the remaining presentation files.

The user may want to reorganize the cumulative presentation list at step116 if the user does not want to delete a file from the cumulativepresentation list at step 112 or after the user has deleted apresentation file from the list. This may be accomplished in any ofseveral manners. As shown at step 118, the user can simply clear theentire cumulative list order and begin with the empty list shown in FIG.2. This may be done by selecting the “clear list” button from the userinterface. Thereafter, the user can create a new list as described abovevia steps 104-110. Alternatively, at step 120 the user can simply clickon a selected presentation from the cumulative order list and drag it tothe desired order spot. For example, the user may select the fourthpresentation (Dr_E_Presentation) from the interface of FIG. 2C and dragit to the second order spot using the user input device 60. Thereafter,the unselected presentations are shifted accordingly, and the updatedcumulative presentation list is shown in the graphical user interface ofFIG. 2D.

Although shown in a particular order in FIG. 3 for purposes ofexplanation, it should be understood that the user can utilize the add,delete and reordering options in any selected order and combination toachieve the desired cumulative presentation order. The user can usethese options multiple times, and as explained herein, use these optionsbefore, during and after display of the cumulative presentation.

Once the user has created the presentation order for the cumulativepresentation in the manner described above, the user can then presentthe cumulative presentation to the audience using the system 10 at step122. This feature is described below in connection with FIG. 4 and thecontrol software 24, presentation software API 26 and presentationsoftware 28. In an exemplary embodiment of the present system 10,Presentation Software 28 is a POWERPOINT software application such asPOWERPOINT Viewer software and Presentation Software API 26 is thePOWERPOINT Viewer API. The API 26 allows an external software programsuch as control software 24 to interface with Presentation Software 28and control the functions of the Presentation Software 28. Although thepresent embodiment is described in connection with POWERPOINT software,other presentation software may be utilized for other media file formats(e.g., QuickTime, etc.). Also, the presentation software functionalitycan be programmed directly within control software 24.

Referring to FIG. 4, control program 24 receives a display command fromthe user through the graphical user interface (FIG. 2) and user inputdevice 60 (step 400), i.e., by selecting the “DISPLAY” button from theinterface of FIG. 2 with a mouse device. Alternatively, the displaycommand may be received from the user via presentation control device50, e.g., by selecting a display button (not shown in FIG. 5 describedbelow). The control program 24 then presents a cumulative presentationaccording to the cumulative presentation order established as describedabove. The cumulative presentation may include a plurality of individualpresentations with each individual presentation including at least onepresentation slide, and more likely a plurality of presentation slides.

The control program 24 maintains a list of the presentations selectedfor inclusion in the cumulative presentation as described above. In anexemplary embodiment, this list is a linked list described below in moredetail in connection with FIGS. 6-6D and 7. After the display command isreceived at step 400 from the user, the control program 24 provides adisplay command or commands at step 402 to the presentations software 28along with the name (or full pathname if needed) of the first listedpresentation and an identification of the slide number to be displayed,e.g., the first slide from the first presentation. The pathnameidentifies the name of the presentation and any directories in systemmemory 34 or hard drive 47. The control program 24 also obtains thetotal number of slides in the first presentation from the cumulativeorder list (step 404).

In an exemplary embodiment, the display command 402 is provided toPOWERPOINT Viewer presentation software 28 through the POWERPOINT Viewersoftware API 26. The NewShow( ) function can be called by the controlprogram 24 to load a presentation and display the first slide. Forexample, API “LPDISPATCH_Application::NewShow(LPCTSTR FileName, LongAdvanceMode, long Kiosk)” implements the NewShow( ) function that loadsa PowerPoint file and displays a first slide. It accepts a filename andtwo flags that control the behavior of the POWERPOINT Viewer.

API “long SlideShowView::GetSlidesCount( ) may be used to obtain thenumber of slides in a file at step 404. The API implements the“GetSlidesCount( )” function that returns the number of slides in aslideshow that was opened with the NewShow( ) API.

API “void SlideShowView::GotoSlide(long Index, long ResetSlide)”implements the “GotoSlide( )” function to facilitate a jump to aparticular slide. This command accepts the index number of the slide tobe displayed and a flag that controls the behavior of the viewer. Thisfunction may be utilized as described hereafter.

At step 406, the presentation software 28 then opens the identifiedslide from the first presentation in a full screen slideshow anddisplays the slide on the monitor 80 and/or projector 90. This videosignal is provided through video controller 38.

The cumulative presentation and individual slideshows are thencontrolled via the presentation control device 50. For example, thecontrol software 24 may receive a command from a user throughpresentation control device 50 and presentation user interfacecontroller 40 to move to a different slide (step 408). The differentslide may be a different slide from the presently displayed slideshowfrom the cumulative presentation or a slide from a completely differentpresentation included within the cumulative presentation. The controlsoftware 24 then provides the display command to the presentationsoftware 28 through the API 26 including the number of the slide to bedisplayed (step 410). If the slide is from a completely differentpresentation, the control software 24 obtains the total number of slidesin the presentation at step 412 in the manner described above. There isno need to obtain this number if the requested slide is contained withinthe presentation currently being displayed or one that has already beendisplayed. The control software 28 also provides the pathnameinformation for the presentation if needed, i.e., if the presentation isnot the same as the presentation currently being displayed at step 406.The GotoSlide function is utilized (as described below) if the requestedslide is not the first slide from a presentation. The user-requestedslide is then displayed on the monitor 80 and/or projector 90 (step414). The control software 24 then waits at step 416 for a new displaycommand from the user, i.e., a command to display a different slide. Anynewly requested slide is then displayed as described above at steps408-414. If no new slide is requested for display, the slide displayedat step 414 remains displayed until the control software 24 receives anexit command via presentation control device 50.

Optionally, the control software 24 can be configured to automaticallyprogress to the next slide based on a pre-programmed timeout value. Thetimeout value may be embedded in the POWERPOINT file per standardPOWERPOINT functionality (or other utilized media file format) or it maybe configured within the control software 24 itself. If it is configuredwithin the control software 24, there may be a timeout valueindividually associated with each slide, individually associated witheach presentation, globally associated across all presentations, or inany combination thereof. Information associated with a presentation orslide may be stored in the nodes of the linked list along with the otherdata described below.

In the event that the user commands the display of a slide from adifferent presentation at step 408, and assuming the presentationsoftware 28 is Power Point Viewer software, the PowerPoint Viewerdefault is to automatically display the first slide in thatpresentation. Assuming viewer software 28 includes this default feature,and assuming the user commanded the display of a slide that is not thefirst slide of the different presentation, this limitation can beaddressed by blanking the screen prior to invoking the NewShow( )function call and un-blanking the screen after the GotoSlide( ) functioncall. To jump to a slide that is not the first slide of a differentpresentation (e.g., the third slide from the different presentation), anexemplary process flow is as follows: (1) the display is blanked; (2)the NewShow( ) function is called with the path of the presentation; (3)the GetSlidesCount( ) function is called to obtain the number of slides;(4) the GotoSlide( ) function is called with the appropriate slidenumber to which to jump; and (5) the screen is then unblanked. Theblanking step may be accomplished by creating a full screen sized windowof a solid color that is prioritized above all other screen content,thereby preventing any other screen content from being displayed.

It should be understood that the presentation control device 50 can beconfigured in many different ways to allow the user to control thecumulative slideshow. For example, an exemplary control device 50 mayinclude a keypad 500 shown in FIG. 5. The control device 50 may be wiredto the programmed processor 20 or be a wireless device that communicateswith an RF or infrared port of the programmed processor 20. An exemplarykeypad 500 includes number keys 502 that allow the user to specificallyinput the presentation number and/or slide number to be displayed. Forexample, assume that the first slide from the first presentation iscurrently being displayed. The user may select the “slide number” button508, enter “5” to represent the fifth slide from the first presentation,and select the “enter” key 504. The control software 24 receives thiscommand at steps 416 and 408, and provides the display command for thefifth slide to the presentation software at step 410. The fifth slide isthen opened and displayed at step 414. As with other functions, this canoccur without the user interface appearing on the projector/display 90utilized to present the cumulative presentation to the audience.

The user may use the control device 50 to command the display of a slidefrom a different presentation by the following sequence: (1) selectingthe “presentation number” button 506; (2) entering, for example, “3” toindicate the third presentation; (3) selecting the “slide number” key508; (4) entering, for example, “4” to indicate the fourth slide; and(5) selecting the “enter” button 504. This command information is thenprovided to the control software 24 at steps 416 and 408. Since the userhas commanded the display of a slide from a different presentation fromthe cumulative presentation order, the control software obtains thetotal number of slides from the presentation at step 412. The controlsoftware 24 then facilitates the display of the requested slide asdescribed above in connection with steps 410 and 414.

The keypad 500 also preferably includes right and left arrow buttons 516and 518, respectively. These buttons may be used to move through aslideshow one slide at a time. For example, assume that the first slideof the first presentation is currently displayed. Selecting the rightarrow button 518 commands the control software 24 to display the secondslide from the slideshow. This command is received by the controlsoftware 24 at steps 416, 408. The control software 24 then provides thedisplay command at 410 to the presentation software including the numberof the slide to be displayed, i.e., slide two, which is the next slideafter slide one. Assuming that the present slide being displayed is thelast slide in a presentation, selecting the right arrow 518 facilitatesthe display of the first slide from the next presentation in thecumulative presentation list developed as described above. In thisevent, the control software 24 also executes step 412 to identify thetotal number of slides from the next presentation and then provides thedisplay command to the presentation software 28 including the pathnameinformation for the next presentation from the list and the slidenumber, e.g., slide one.

The left arrow button 516 works in a similar manner, only to movebackwards through a slideshow, e.g., to move from the second slide in apresentation to the first slide in a presentation or to move from thefirst side of a presentation to the last slide of a previouspresentation. If a command is received via button 516 to move from thefirst slide of a presentation to the last slide of a previouspresentation, it is not necessary to execute step 412 if the controlsoftware 24 has already obtained and stored in memory the total numberof slides in the previous presentation.

Keypad 500 also preferably includes a “next presentation” button 512 anda “previous presentation” button 514. Selecting the “next presentation”button 512 requests the display of the first slide from the nextpresentation from the cumulative presentation order list. This is alsoaccomplished via steps 416 and 408-414. Likewise, selecting the“previous presentation” button 514 requests the display of the firstslide from the previous presentation from the cumulative presentationorder list, again via steps 416 and 408-414.

As also shown in FIG. 5, the keypad 500 includes an “exit” key 510. Thiskey provides a command to the control software 24 at step 418 toterminate the display of the presentation.

An exemplary presentation system 10 also provides the user with theability to display a presentation from the cumulative presentation andedit the cumulative presentation order simultaneously. This featureallows for impromptu changes to the cumulative presentation withoutdisrupting the presentation currently being provided. This featurerecognizes that any number of events can require cumulativepresentations to be changed “last minute” at events or require apresentation order change. For example, presenters can be late, absentor substituted for and/or presentation topics may be rearranged. Thisfeature is described hereafter in connection with FIGS. 6A-6D and FIG.7.

In one exemplary embodiment, the ordering of the cumulative presentationconfigured as described above is implemented as a linked list, andpreferably a doubly linked list where each element or node includes apointer to both the next and previous elements or nodes. This linkedlist may be created after a cumulative presentation is defined asdescribed above. In one exemplary embodiment, the linked list is createdwhen the display command is received at step 132 (FIG. 3). Referring toFIG. 6A, the presentation order defined by the user as explained abovein connection with FIGS. 2A-2D and FIG. 3 is implemented as a doublylinked list. Assume that the presentation order defined by the user is,from first to last presentation as follows: Presentation C, PresentationA, Presentation B, Presentation E and Presentation D. Each element ofthe list is illustrated as having at least three components. In anotherembodiment, additional components may be stored as well, such as theaforementioned timeout values. A first component identifies thepresentation file, e.g., Presentation C, or Presentation A, etc., byname (or full pathname if the files are located in a directory that isnot the same for each element). A second component identifies a link tothe previous element. For all elements except the first element, thisprevious pointer identifies the previous element of the list, e.g., theprevious pointer for the third element (representing Presentation B)points to the second element (representing Presentation A). For thefirst element, a null value is provided for this previous pointer. Athird component identifies a link to the next element. For all elementsexcept the last element, this next pointer identifies the next elementfrom the list, e.g., the next pointer for the second element(representing Presentation A) points to the third element (representingPresentation B).

The list preferably has two pointers—a first presentation pointer and adisplay pointer. These pointers are utilized in the display of theindividual presentations from the cumulative presentation describedabove in connection with FIGS. 4-5. The first presentation pointeridentifies the first presentation from the linked list and, therefore,from the cumulative presentation defined by the user as described above.The display pointer identifies the presentation element that iscurrently being displayed. This display pointer is incremented or set topoint to the next presentation element (or other presentation elementfrom the list as the case may) of the linked list as shown in FIG. 6Bwhen the user requests or commands the display of the next presentation(or other presentation as the case may be) as described above inconnection with FIGS. 4-5.

Modification of the cumulative presentation is described hereafter inconnection with FIGS. 6C-6D and FIG. 7. During the display of thecumulative presentation (which is displayed on monitor 80 and/orprojector/display 90 as described above), a graphical user interface isalso preferably provided to the user via user control display 100 andthrough presentation user interface controller 40 (FIG. 1). Thisgraphical user interface allows the user to reconfigure the cumulativepresentation while the presentation is still being displayed to theaudience without interruption thereof. This feature allows for a user toaccount for changes in the cumulative presentation order. These changesmay become necessary, for example, during conferences if a speaker is a“no show,” a speaker is added, a speaker is late, a new version of apresentation file is provided, or circumstances otherwise dictate areconfiguration of the presentation order.

In one exemplary embodiment of the present system, the graphical userinterface of FIG. 7 is provided in a format similar to that of theinterface of FIG. 2 used to initially define the cumulative presentationorder. Displayed on the left side of the graphical interface are thepresentation files located at the available I/O media sources 32. Forpurposes of this example, the “A”, “D” and “H” drives are shownavailable. The “D” drive is shown to be empty, indicating that nocompact disk is present in the drive. For example, after a presentationis copied to the presentation apparatus 20 from this drive, the compactdisk is removed and returned to the presenter. The“Dr_E_Presentation.PPT” file is shown in the “H” drive in this examplebecause it is a network drive that is still available. A newpresentation—“Dr_F_Presentation.PPT” is shown in the “A” drive. Forpurposes of this example, the Dr_F_presentation is a new presentationnot included in the original cumulative presentation and made availablethrough a floppy disk inserted in drive A during the display of thecumulative presentation.

The predefined cumulative presentation order is shown displayed on theright side of the graphical user interface, e.g., dialog box or windowinterface, of FIG. 7. The individual presentation from the cumulativepresentation currently being displayed is shown highlighted in the userinterface. In this example, Dr_A_Presentation is currently beingdisplayed. This event corresponds to the lined list shown in FIG. 6B.Control buttons, i.e., “reorganize”, “add” and “delete”, are also shownon the bottom portion of the graphical interface, the function of whichis described below.

Assume that a user wants to add the Dr_F_Presentation file to thecumulative presentation list for display after the Dr_B_Presentation andbefore the Dr_E_Presentation without interrupting the cumulativepresentation, i.e., Dr_A_Presentation is currently being displayed. Forpurposes of the graphical user interface, this may be accomplished bydragging the name of the Dr_F_Presentation file from the left hand sideof the interface to the desired location between presentation orderspots 3 and 4 of the presentation list. The display is then updated forthe user to represent the new presentation order, i.e., C, A, B, F, E,then D. As described above in connection with step 108 (FIG. 3), theselected presentation file is also copied to system memory 34 or harddrive 47 for use in the cumulative presentation. This addition may alsobe accomplished by selecting the “add” button, then selecting theDr_F_Presentation name and then selecting the desired inclusionlocation, i.e., order spot number 4. The Dr_E and Dr_F presentations arethen bumped to the fifth and sixth presentation spots, respectively. Itis understood that users can interact and control a graphical userinterface in any number of ways, and this disclosure is provided forpurpose of explanation and not for purpose of limitation.

Regardless of how the user commands or requests that thepresentation—here Dr_F_Presentation—be added to the cumulative order,the linked list is modified to implement this change. Modifications tothe linked list may be implemented using manipulation algorithms thatshould be familiar to those of ordinary skill, but these modificationsare described generally hereafter for purposes of clarity. Referring toFIG. 6C, a modified linked list is shown. The first, second and lastelements remain unchanged. The next element pointer of the third elementis changed to point to the new element—the element corresponding toDr_F_Presentation file. The element that previously followed the thirdelement, i.e., the Dr_E_Presentation element, is also modified. Theprevious element pointer of this element is modified to point to the newelement rather than the third element. The new element includes aprevious element pointer that points to the third element and a nextelement pointer that points to the next element in the list, i.e.,Dr_E_Presentation element. In this manner, the linked list is modified,and the new element is added seamlessly within the cumulative order, andthus within the cumulative presentation. The user can then direct thedisplay of this new presentation using the user input device 60 as if itwere originally included in the cumulative presentation, i.e., inresponse to an appropriate user command described above in connectionwith FIGS. 4-5, the display pointer eventually is updated to point tothe new element and the corresponding presentation is displayed.

It should be understood that a new presentation element or elements canbe inserted or added anywhere in the linked list. If the element is tobe added before the first element in the linked list, the first elementpointer must be changed to point to the new element. The original firstelement is provided with a previous element pointer that points to thenew element (rather than a null element). The new element is providedwith a null element for its previous element pointer and its nextelement pointer points to the original first element. Similar elementchanges are made to add a new element after the last element of thelinked list, only with respect to the last element.

The deletion of an element from the cumulative presentation order is nowdescribed in connection with FIG. 6D. Again, with respect to userinteraction, this task is accomplished through a graphical userinterface such as is shown in FIG. 7. Again, the nature of the setup ofthe interface is not important. The user can, for example, select apresentation from the presentation order list using a user input device60 and then select the “delete” key. Alternatively, the user can selecta presentation from the displayed listing and simply drag the name fromthe list. Again, the linked list is modified to implement this changewithout interrupting the presentation from the cumulative presentationcurrently being displayed.

FIG. 6D illustrates the deletion of an element (specifically the thirdelement) from the linked list. The next element pointer from the secondelement is changed to point to the original fourth element. The previouselement pointer of the original fourth element is changed to point tothe second element. The previous and next element pointers of theoriginal third element are changed to null values. This is not arequirement, but would generally be considered good programming practicefor debugging purposes. Of course, any element from the linked list canbe deleted. If the first element or multiple elements from the beginningof the list are deleted, the first element pointer must be updated toreflect the new first element.

An existing list can be reorganized as well For example, the orderingcan be changed from C, A, B, E, D to D, E, B, A, C, or any othercombination. Again, this may be accomplished via the graphical interfaceof FIG. 7. For example, the user can simply drag a presentation namefrom the displayed list to the desired location in the list, at whichpoint the presentation list is redisplayed with the presentation in thecorrect order. Alternatively, the user can select the “reorganize”button, at which point a second presentation order window opens (notshown) adjacent to the illustrated presentation order window. The usercan then drag or otherwise select presentations from the originalcumulative presentation list to spots in the new presentations list.Selecting the “reorganize” button again completes the modification andtriggers the linked list to be modified. Reordering the linked listelements includes the steps of removing an element from the list asdescribed above and adding the element to the desired location in thelist. Of course, the removal and addition steps are performed as manytimes as necessary to regroup the elements into the desired ordering.The modified linked list then controls the presentation order inresponse to presentation commands received from the user as describedabove.

As explained above, in one embodiment, this feature provides the abilityto edit the cumulative presentation list on a user control display 100and display the presentation simultaneously on the monitor 80 and/orprojector/display 90. Individual presentations can be added, removedand/or reordered in the cumulative presentation without interrupting thepresentation from the cumulative presentation currently being displayed.

It is contemplated, however, that in one embodiment, the cumulativepresentation is merely paused during reconfiguration of the cumulativepresentation list. This embodiment is particularly applicable if thesystem 10 utilizes monitor 80 and/or projector/display 90 as the usercontrol display. This may occur when the programmed apparatus 20 onlyincludes one video controller. In this embodiment, the user may select a“pause” button (not shown) on presentation control device 50 and thenselect an “edit” button (not shown). This selection causes the controlsoftware 24 to display an edit screen, such described above inconnection with FIG. 7. The user then uses user input device 60 tointeract with the user interface to define a new cumulative presentationorder, e.g., presentations may be added, deleted and/or reordered. Whenthe modification is completed, an updated linked list is created andused when the presentation is restarted or un-paused, by for example,selecting the “edit” or “pause” button again on presentation controldevice 50. The slide that was being presented on monitor 80 and/orprojector/display 90 at the time the “pause” button was first selectedis then redisplayed on monitor 80 and/or projector/display 90 (ratherthan the editing user interface). The linked list defining the newcumulative presentation order is then used to define the presentationorder during the display.

Referring again to FIGS. 1 and 2, the apparatus 20 preferably isconfigured to export or save the cumulative presentation to an I/O mediasource 32, such as a CD-R/W drive or a floppy drive. The user can selectthis option through the graphical user interface displayed on the usercontrol display 100. The cumulative presentation can be saved in severaldifferent ways. In a first embodiment, the individual presentations arestored with their original file names along with a file corresponding tothe linked list described above, which points to the presentation filesby name. A user can then load the presentation files onto any processorprogrammed with presentation software (e.g., POWERPOINT VIEWER software)and open the presentation files individually. If the user has aprocessor programmed with that portion of control software 24 directedto displaying cumulative presentations as described above in connectionwith FIG. 4, Presentation Software API 26 and Presentation Software 28,then the user can view the presentations as a cumulative presentation.Alternatively, the linked list can be converted into a simple textual(or other indicia) list illustrating the cumulative presentation order.This list is copied to the I/O media source 32 along with thepresentation files. Of course, this list may be used as a simplereference indicating the cumulative presentation order, or it may beconverted by a processor including control software 24 into a linkedlist for use in display of the cumulative presentation.

In a second embodiment, the individual presentation files and the linkedlist associated with the cumulative presentation of the individualpresentation files are again loaded, saved or otherwise transferred toan I/O media source 32. In this embodiment, however, the file names arerenamed at least in part to correspond to their ordering in thecumulative presentation, i.e., “file0001.ppt”, “file0002.ppt”,“file0003.ppt” etc. The linked list is modified accordingly (or a newlinked list is created) to reflect the name changes. In this manner, auser can then load the presentation files onto any processor programmedwith presentation software (e.g., POWERPOINT VIEWER software) and openthe presentation files individually. Unlike the first embodiment,however, the user can discern the correct ordering of the presentationsby their respective names, thereby virtually recreating a cumulativepresentation. In many cases, conventional PC software will also listsuch files names in the correct order when commanded to do so. Ofcourse, if the user has a processor programmed with that portion ofcontrol software 24 directed to displaying cumulative presentations asdescribed above in connection with FIG. 4, Presentation Software API 26and Presentation Software 28, then the user can view the presentationsas a seamless cumulative presentation.

In yet another embodiment, the presentation files are concatenated bythe display apparatus 22 into a single presentation file, e.g., a single“.ppt” file having a plurality of individual presentation slides in theorder of the cumulative presentation. This concatenating functionalityis presently built into the POWERPOINT software (as distinguished fromPOWERPOINT VIEWER software). This file is then loaded, saved orotherwise transferred to an I/O media source 32. In this manner, a usercan then load the presentation files onto any processor programmed withpresentation software (e.g., POWERPOINT VIEWER software) and open asingle presentation file to view as a seamless cumulative presentation.

The save feature allows the user to make the cumulative presentationportable and provides great flexibility in combination with the dynamicmodification features described above. The user may choose to wait untilthe cumulative presentation is finished to utilize the save feature.This allows the user to capture any modifications to the cumulativepresentation (and thus the linked list) made during display of thepresentation (e.g., additions or deletions of individual presentations,or reordering thereof).

Some other features of an exemplary system 10 and presentation apparatus20 are now described. In one embodiment, the programmed processor 20allows the user to add transitions between presentations. Again, thisoption may be provided to the user through a graphical user interfacedisplayed to the user on user control display 100. The user may selectfrom a plurality of transitions, such as a blank screen, a graphicdesign, a logo page, etc. If the same transition for each presentationin the cumulative presentation is selected, whether it be a blankscreen, logo, etc., the transition screen is displayed whenever the usermoves to the next presentation as described above in connection withFIG. 4. This may be accomplished by inserting the screen as an elementin the linked list between each presentation element. Alternatively,assuming there is a common insert screen that is to be inserted at eachtransition, it does not need to be stored within the linked list.Instead, a variable can be used to indicate that a screen is to bedisplayed at every transition. This variable can be consulted when thetransition is encountered. If the variable is set, the insert screen isdisplayed. A second variable would be used to indicate which screen isto be displayed during the transition. Alternatively, the user canselect a different transition screen for each individual presentation orsome individual presentations. In that event, the user can simply addthe transition screen as an entry in the cumulative order list. The filecorresponding to the screen can be selected from an I/O media source 32as described above

The programmed processor 20 also preferably allows the user to definebookmarks during presentation of an individual presentation for thecumulative presentation. For example, as shown in FIG. 5, an exemplarypresentation control device 50 may include a “bookmark” key 520. Assumethat a slide from a presentation in the cumulative presentation iscurrently being displayed on the projector/display 90. If the userdecides that he or she (or another user) may desire to quickly return tothe slide later in the presentation of the cumulative presentation, theuser can select the bookmark key 520. By selecting this key, thelocation of the slide within the cumulative presentation is stored bythe control software 24. At any later point, i.e., when a differentslide from the same or a different presentation is being displayed, auser can again select the bookmark key 50. By selecting this key 50, thecontrol software saves the location of the slide presently beingdisplayed and then displays the bookmarked slide. Basically, the slidenumber and pathname (if needed) are provided to the presentationsoftware 28 by the control software 24 at step 410 of FIG. 4. If theuser selects the bookmark button again, the control software retrievesthe location information for the previously displayed slide and usesthis information to redisplay that slide. In one embodiment, theprogrammed processor 20 also allows the user to set multiple bookmarks,each functioning as described above.

Although FIG. 1 shows that the programmed process is separate from theperipherals, such as the monitor 80, projector/display 90 and usercontrol display 100, this is for purposes of illustrations only. It iscontemplated that the programmed processor 20 and peripherals may form apart of an integral device.

The system described above provides a user-friendly and flexible meansof preparing a cumulative presentation, displaying a cumulativepresentation and modifying a cumulative presentation. Much of this maybe accomplished with or without a user interface and using even as fewas one or two “clicks” of a user input device 60 and/or presentationcontrol device 50. A plurality of presentations can be displayed as acumulative presentation in a seamless manner, and the cumulativepresentation can be modified without interrupting a presentation fromthe cumulative presentation being displayed. The system eliminatesawkward transitions between presentations, allows the user to save acumulative presentation, and can function with a plurality of differentsources of media files. Still further, the system relieves theinflexibility inherent in prior art systems that rely uponpreprogrammed, static textual play lists.

In one embodiment, some functionality of the control software 24 may bemoved to a peripheral device that interacts with control software 24 viaan API. In such an embodiment of system 10, the control software 24 ofthe programmed processor is associated with an API such that a portableor other control device may interface therewith and enhance thecapabilities of the processor 20, such as to provide the ability tomanage and organize or reorganize the cumulative presentation at theperipheral device, while the programmed processor 20 and centralprocessing unit 22 direct the ongoing display and maintain storage ofthe presentations. For example, a cumulative presentation order can bedeveloped or modified in any manner at the peripheral and then beprovided to the control program 24 in a standard format. The controlprogram 24 can then convert the provided presentation order into alinked list as described above, which is then used in the display of thecumulative presentation as described above. It is assumed that thepresentations defined in the cumulative presentation order by theperipheral are available to the control processor via I/O media sources32. Alternatively, the media files may be transferred to the controlprocessor 24 from the peripheral device. In this manner, control of thecumulative presentation can be implemented through processor 20 andpresentation control device 50, while the cumulative presentation can bedeveloped and/or modified before and during the cumulative presentationusing a peripheral device that effectively implements the functionalityof the user input device 60 and the user interface displayed on the usercontrol display 100 This feature allows a user at a location remote fromthe processor 20, such as at a different location in a meeting room(e.g., a registration desk), to interact with the processor 20 to updateand modify the cumulative presentation order.

In yet another embodiment of the system 10, a processor 20 serves as anI/O media source 32. Cumulative presentation lists, individualpresentations, timeout values, transition slides, and other data can betransferred from a first processor 20 to a second processor 20. Thisinformation may be transferred over a phone line or other communicationlink, for example. This facilitates the sharing of information, as wellas coordinating presentations in multiple venues. The signal from videocontroller 38 or a display command may also be transmitted to a remoteprocessor 20 for display to a remote audience.

In another embodiment of the system 10, programmed processor 20 allowsthe user to add, delete and reorder slides within an individualpresentation that is included within a cumulative presentation. Thisfeature allows users to make last minute changes to the individualslideshow without the need to edit the PowerPoint file. Oneimplementation of this feature is embodied by creating a doubly linkedlist corresponding to the slides within an individual presentation (inaddition to creating a linked list corresponding to the order of theindividual presentations within the cumulative presentation). Eachelement of the list corresponds to a slide and includes a previous slidepointer and a next slide pointer. A pointer identifies the first slidein the list and the current slide being displayed. The user is presentedwith a user interface similar to, for example, the dialog interface ofFIG. 2, only specific to the slides of an individual presentation.Through the interface, the user defines a new ordering for theindividual sides within a selected presentation. The actual presentationfile is not modified, but the control software 24 directs that a doublylinked list be created embodying the slide ordering directed by theuser. This slide ordering is then used in the presentation processillustrated in FIG. 4 and described above.

For example, assume there are five slides in a selectedpresentation—slide 1, slide 2, slide 3, slide 4 and slide 5. The usermay select a new presentation order within that presentation asfollows—slide 1, slide 2, slide 4 slide 3 and slide 5. This new order isrepresented in a linked list that is created. When slide 2 is displayedand the user commands the display of the next slide (by selecting rightarrow key 519, for example) a slide presentation pointer is updated inthe linked list to point to the next slide pointed to in the linkedlist—slide 4—and the display command provided at step 410 commands thedisplay of slide 4 from the presentation. Without this linked list,slide 3 would be displayed. A slide or slides may also be deleted usinga similar mechanism.

The present invention can be embodied in the form of methods andapparatus for practicing those methods. The present invention can alsobe embodied in the form of program code embodied in tangible media, suchas floppy diskettes, CD-ROMs, hard drives, or any other machine-readablestorage medium, wherein, when the program code is loaded into andexecuted by a machine, such as a computer, the machine becomes anapparatus for practicing the invention. The present invention can alsobe embodied in the form of program code, for example, whether stored ina storage medium, loaded into and/or executed by a machine, ortransmitted over some transmission medium, such as over electricalwiring or cabling, through fiber optics, or via electromagneticradiation, wherein, when the program code is loaded into and executed bya machine, such as a computer, the machine becomes an apparatus forpracticing the invention. When implemented on a general-purposeprocessor, the program code segments combine with the processor toprovide a unique device that operates analogously to specific logiccircuits.

Although the invention has been described in terms of exemplaryembodiments, it is not limited thereto. Rather, the appended claimsshould be construed broadly, to include other variants and embodimentsof the invention that may be made by those skilled in the art withoutdeparting from the scope and range of equivalents of the invention.

1. A method of preparing and displaying a cumulative presentation,comprising the following steps: providing through a user interface alisting of available individual presentation files, each of saidpresentation files comprising a plurality presentation slides; queryinga user through said user interface to select presentation files fromsaid available individual presentation files for inclusion in acumulative presentation in a selected presentation order; displaying alisting of presentation files selected by said user in said userinterface; in response to a first command received from said user,providing a first slide from a first presentation from said cumulativepresentation to a display device for display thereon; and in response toa second command received from said user, providing a second slide fromsaid cumulative presentation to the display device for display thereon.2. The method of claim 1, wherein said providing said listing stepincludes the step of receiving a listing of available individualpresentation files from at least one input source and displaying saidlisting to said user in said user interface.
 3. The method of claim 2,further comprising the step of copying said selected presentation filesto local storage from respective input sources.
 4. The method of claim3, wherein said first slide providing step comprises the followingsteps: providing to a presentation software application anidentification of said first presentation and a command to display saidfirst slide; and retrieving said first slide from said local storage. 5.The method of claim 3, wherein said step of providing a second slidefrom said cumulative presentation comprises the following steps:providing to said presentation software application a command to displaysaid second slide; and retrieving said second slide form said localstorage.
 6. The method of claim 5, further comprising the step ofproviding to said presentation software application an identification ofa second presentation if said second slide is part of said secondpresentation.
 7. The method of claim 6, wherein said first presentationfile is a POWERPOINT presentation file and said presentation softwareapplication is a POWERPOINT software application.
 8. The method of claim5, further comprising the steps of: receiving said first command from afirst input device configured to interface with said user interface; andreceiving said second command from a second input device.
 9. The methodof claim 5, further comprising the steps of: receiving a selection ofsaid presentation files for inclusion in said cumulative presentation inresponse to said querying from a first input device configured tointerface with said user interface; and receiving said first and secondcommands from a second input device.
 10. The method of claim 3, furthercomprising the step of copying each of said selected presentation filesfrom said cumulative presentation from said local storage to an externalstorage medium.
 11. The method of claim 10, wherein each of saidselected presentation files copied to said external storage medium isassociated with a respective file name representative of its order insaid cumulative presentation.
 12. The method of claim 10, furthercomprising the step of copying to said external storage medium a listidentifying an ordering of said selected presentations in saidcumulative presentations.
 13. The method of claim 12, wherein said listis a linked list.
 14. The method of claim 3, further comprising thesteps of: concatenating each of said presentations from said cumulativepresentation into a single presentation file; and copying saidpresentation file to an external storage medium.
 15. The method of claim1, further comprising the steps of: before said first slide is providedto said display device for display, querying said user through said userinterface to modify said selected presentation order of said cumulativepresentation; and displaying a modified listing of presentation files ina modified selected presentation order in response to a modificationcommand received from said user through said user interface, saidmodification command directing that a selected presentation file beadded to said cumulative presentation, a selected presentation file bedeleted from said cumulative presentation or presentation files fromsaid cumulative presentation be reordered.
 16. The method of claim 15,further comprising the step of creating a linked list representative ofsaid modified listing of presentations files.
 17. The method of claim 1,before said first slide is provided to said display device for display,generating a linked list representing the presentation order ofpresentation files in said cumulative presentation defined by said user.18. The method of claim 1, wherein: said second slide is a first slideincluded in a second presentation from said cumulative presentation,said method further comprising the step of: in response to a thirdcommand received from said user, providing a last slide from apresentation immediately before said second presentation in saidpresentation order to said display device for display thereon, said lastslide provided directly following display of said second slide.
 19. Amethod of manipulating a presentation order of presentations in acumulative presentation, said cumulative presentation comprising aplurality of presentation files each including a plurality ofpresentation slides, comprising the following steps: providing to a userthrough a user interface a listing of presentations included in saidcumulative presentation; and without interrupting a presentationcurrently being displayed from said cumulative presentation,reconfiguring said presentation order of said presentations in saidcumulative presentation in response to a reconfiguration commandreceived from said user.
 20. The method of claim 19, wherein saidreconfiguring step includes the following steps: defining saidcumulative presentation as a linked list of said plurality ofpresentation files; and modifying said linked list to conform to a newpresentation order defined by said user. 21-62. (canceled)